
#include "boxing2.h"
#include <iterator>
#include <vector>
#include "taginfo.h"
#include <cstdio>

using namespace std;

# define BYTESIZE  8

void * generic_box_simple () { 
	return create_generic_object(0); 
}

void * generic_box_unboxed_array(size_t len) {
	return create_unboxed_array(len);
}

void * generic_box_boxed_array (size_t len)  { 
	return create_unboxed_array(len);
}

void * generic_box_struct (list <size_t> offsets_ptr) { 
	void * object = create_generic_object(offsets_ptr.size());
	list <size_t>::iterator it_offset = offsets_ptr.begin();
	POINTER_DESCR descr;
	for ( size_t iter_p = 1; iter_p < offsets_ptr.size() + 1; iter_p++, it_offset++) {
				descr = {*it_offset, 0};
				set_ptr_descr(object, iter_p, descr);  // записываем смещение -- дописать в prototype
	}
	return object;	
}


		


 

